package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 挖矿订单详情实体类，用于记录挖矿订单每次产出的具体信息。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "mining_order_detail")
public class MiningOrderDetail {

    /**
     * 记录ID，主键，自动生成的唯一标识。
     */
    @ApiModelProperty(value = "记录ID", example = "1")
    private Long id;

    /**
     * 领取人ID
     */
    @ApiModelProperty(value = "领取人ID", required = true, example = "1001")
    private Long memberId;

    /**
     * 矿机ID，与挖矿订单关联的矿机信息。
     */
    @ApiModelProperty(value = "矿机ID", example = "1")
    private Long miningOrderId;

    /**
     * 挖矿产出，本次挖矿的具体产出量。
     */
    @ApiModelProperty(value = "挖矿产出", example = "1.23456789")
    private BigDecimal output = BigDecimal.ZERO;

    /**
     * 矿机产出币种，挖矿产出的货币单位。
     */
    @ApiModelProperty(value = "矿机产出币种", example = "BTC")
    private String miningUnit;

    /**
     * 创建时间，挖矿产出记录的创建时间。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private LocalDateTime createTime;
}
